/* 
 * File:   ServerConfFileManager.h
 * Author: nahuel
 *
 * Created on May 23, 2013, 9:53 PM
 */

#ifndef SERVERCONFFILEMANAGER_H
#define	SERVERCONFFILEMANAGER_H

#include <string>
#include "common_tinyxml.h"

class ServerConfFileManager {
    private:
        /*
         * Nombre de nodos
         */
        static std::string generalNodeName;
            static std::string pathAuNodeName;            
        
        static std::string conexionNodeName;            
            static std::string puertoServidorNodeName;            
        
        TiXmlDocument* _confFile;
        std::string _filePath;
        
        /*
         *  Crea el archivo de configuracion. Se utiliza cuando no se encuentra
         *  el archivo solicitado.
         */
        void _CrearArchivo();
        
    public:
        /*
         * Si no existe lo crea.
         */
        ServerConfFileManager(const std::string& filePath);
        
        std::string GetPathAU();       
        std::string GetPuertoServidor();
        
        void SetPathAU(const std::string& pathAu);        
        void SetPuertoServidor(std::string& puertoServer);
        
        void SaveChanges();
        
        virtual ~ServerConfFileManager();
};

#endif	/* SERVERCONFFILEMANAGER_H */

